package cn.iocoder.yudao.module.media.controller.admin.macvod.vo;

import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import java.math.BigDecimal;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;

import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

@Schema(description = "管理后台 - 电影信息分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class MacVodPageReqVO extends PageParam {

    @Schema(description = "视频采集平台id", example = "30476")
    private Integer sourceId;

    @Schema(description = "是否有更新,1有更新,0未更新", example = "2")
    private Integer updateStatus;

    @Schema(description = "视频id", example = "22066")
    private Integer vodId;

    @Schema(description = "分类ID", example = "15183")
    private Short typeId;

    @Schema(description = "一级分类ID")
    private Short typeId1;

    @Schema(description = "用户组ID", example = "12001")
    private Short groupId;

    @Schema(description = "视频名称", example = "王五")
    private String vodName;

    @Schema(description = "副标题")
    private String vodSub;

    @Schema(description = "别名")
    private String vodEn;

    @Schema(description = "状态：0未审，1已审", example = "2")
    private Integer vodStatus;

    @Schema(description = "首字母")
    private String vodLetter;

    @Schema(description = "颜色代码")
    private String vodColor;

    @Schema(description = "标签")
    private String vodTag;

    @Schema(description = "扩展分类")
    private String vodClass;

    @Schema(description = "图片链接")
    private String vodPic;

    @Schema(description = "缩略图链接")
    private String vodPicThumb;

    @Schema(description = "幻灯图链接")
    private String vodPicSlide;

    @Schema(description = "截图，多个图片用$$$连接")
    private String vodPicScreenshot;

    @Schema(description = "主演")
    private String vodActor;

    @Schema(description = "导演")
    private String vodDirector;

    @Schema(description = "编剧")
    private String vodWriter;

    @Schema(description = "幕后")
    private String vodBehind;

    @Schema(description = "简介")
    private String vodBlurb;

    @Schema(description = "备注")
    private String vodRemarks;

    @Schema(description = "上映日期")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private String[] vodPubdate;

    @Schema(description = "总集数")
    private Integer vodTotal;

    @Schema(description = "连载数")
    private String vodSerial;

    @Schema(description = "上映电视台")
    private String vodTv;

    @Schema(description = "节目周期")
    private String vodWeekday;

    @Schema(description = "地区")
    private String vodArea;

    @Schema(description = "语言")
    private String vodLang;

    @Schema(description = "年代")
    private String vodYear;

    @Schema(description = "版本（如dvd, hd, 720p）")
    private String vodVersion;

    @Schema(description = "资源类别（如正片, 预告片, 花絮）")
    private String vodState;

    @Schema(description = "编辑人员")
    private String vodAuthor;

    @Schema(description = "跳转URL", example = "https://www.iocoder.cn")
    private String vodJumpurl;

    @Schema(description = "独立模板")
    private String vodTpl;

    @Schema(description = "独立播放页模板")
    private String vodTplPlay;

    @Schema(description = "独立下载页模板")
    private String vodTplDown;

    @Schema(description = "是否完结")
    private Integer vodIsend;

    @Schema(description = "锁定状态（1表示锁定）")
    private Integer vodLock;

    @Schema(description = "推荐级别")
    private Integer vodLevel;

    @Schema(description = "是否开启版权提示")
    private Integer vodCopyright;

    @Schema(description = "访问整个视频所需积分")
    private Short vodPoints;

    @Schema(description = "每集点播付费积分")
    private Short vodPointsPlay;

    @Schema(description = "每集下载付费积分")
    private Short vodPointsDown;

    @Schema(description = "总点击量")
    private Integer vodHits;

    @Schema(description = "日点击量")
    private Integer vodHitsDay;

    @Schema(description = "周点击量")
    private Integer vodHitsWeek;

    @Schema(description = "月点击量")
    private Integer vodHitsMonth;

    @Schema(description = "时长")
    private String vodDuration;

    @Schema(description = "顶数")
    private Integer vodUp;

    @Schema(description = "踩数")
    private Integer vodDown;

    @Schema(description = "平均分")
    private BigDecimal vodScore;

    @Schema(description = "总评分")
    private Integer vodScoreAll;

    @Schema(description = "评分次数")
    private Integer vodScoreNum;

    @Schema(description = "更新时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime[] vodTime;

    @Schema(description = "添加时间")
    private Integer vodTimeAdd;

    @Schema(description = "点击时间")
    private Integer vodTimeHits;

    @Schema(description = "生成时间")
    private Integer vodTimeMake;

    @Schema(description = "试看时长（分钟）")
    private Short vodTrysee;

    @Schema(description = "豆瓣ID", example = "23912")
    private Integer vodDoubanId;

    @Schema(description = "豆瓣评分")
    private BigDecimal vodDoubanScore;

    @Schema(description = "来源地址", example = "https://www.iocoder.cn")
    private String vodReurl;

    @Schema(description = "关联视频IDs")
    private String vodRelVod;

    @Schema(description = "关联文章IDs")
    private String vodRelArt;

    @Schema(description = "访问内容页密码")
    private String vodPwd;

    @Schema(description = "获取密码链接", example = "https://www.iocoder.cn")
    private String vodPwdUrl;

    @Schema(description = "访问播放页密码")
    private String vodPwdPlay;

    @Schema(description = "播放页获取密码链接", example = "https://www.iocoder.cn")
    private String vodPwdPlayUrl;

    @Schema(description = "访问下载页密码")
    private String vodPwdDown;

    @Schema(description = "下载页获取密码链接", example = "https://www.iocoder.cn")
    private String vodPwdDownUrl;

    @Schema(description = "详细介绍")
    private String vodContent;

    @Schema(description = "播放组")
    private String vodPlayFrom;

    @Schema(description = "播放服务器组")
    private String vodPlayServer;

    @Schema(description = "播放备注")
    private String vodPlayNote;

    @Schema(description = "播放地址", example = "https://www.iocoder.cn")
    private String vodPlayUrl;

    @Schema(description = "下载租")
    private String vodDownFrom;

    @Schema(description = "下载服务器组")
    private String vodDownServer;

    @Schema(description = "下载备注")
    private String vodDownNote;

    @Schema(description = "下载地址", example = "https://www.iocoder.cn")
    private String vodDownUrl;

    @Schema(description = "是否包含分集剧情")
    private Integer vodPlot;

    @Schema(description = "分集剧情名称", example = "张三")
    private String vodPlotName;

    @Schema(description = "分集剧情详情")
    private String vodPlotDetail;

    @Schema(description = "创建时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime[] createTime;

}